/**
 * Created by IntelliJ IDEA.
 * User: lzp
 * Date: 11-7-12
 * Time: 下午7:05
 * To change this template use File | Settings | File Templates.
 */
(function($){
    $.fn.login=function(settings){
        var defaultSettings={
            loginId:{
                id:"loginId",
                alert:{
                    emptyAlert:"请输入用户名！"
                }

            },
            userPsw:{
                id:"userPsw",
                alert:{
                    emptyAlert:"请输入密码！"
                }

            },
            validateCode:{
                id:"validateCode",
                alert:{
                    emptyAlert:"请输入验证码！"
                }

            },
            contextPath:"",
            url:"/member/loginToFront/loginCheckValidateCode.ac"

        };
        settings = $.extend(true,defaultSettings,settings);
        return this.each(function(){
            $(this).bind("submit",function(){
                return checkLoginForm(settings)
            })

        });
        function checkLoginForm(settings){
            var loginId = $("#"+settings.loginId.id);
            var userPsw = $("#"+settings.userPsw.id);
            var validateCode = $("#"+settings.validateCode.id);
            if(loginId.val() == ""){
//                showDialog(settings.loginId.alert.emptyAlert,{
//                    '确认':function(){
//                        loginId.focus();
//                        $(this).dialog("close")
//                    }
//                });
                $("#alert").show();
                $("#alerttext").html(settings.loginId.alert.emptyAlert)

                return false;
            }
            if(userPsw.val() == ""){
//                showDialog(settings.userPsw.alert.emptyAlert,{
//                    '确认':function(){
//                        userPsw.focus();
//                        $(this).dialog("close")
//                    }
//                });

                $("#alert2").show();
                $("#alerttext1").html(settings.userPsw.alert.emptyAlert)
                return false;
            }
            if(validateCode.val() == ""){

//                showDialog(settings.validateCode.alert.emptyAlert,{
//                    '确认':function(){
//                        validateCode.focus();
//                        $(this).dialog("close")
//                    }
//                });

                $("#alert3").show();
                $("#alerttext2").html(settings.validateCode.alert.emptyAlert)
                return false;
            }
            confirmLogin(loginId,userPsw,validateCode);
            return false;
        }
             function confirmLogin(loginId,userPsw,validateCode){
                    //非空验证结束
                    //var params = $("#loginForm").formToArray();
                    $.ajaxSettings['contentType'] = "application/x-www-form-urlencoded; charset=utf-8";
                    $.ajax({
                        type:"POST",
                        url:settings.contextPath+settings.url,
                        data:{loginId:loginId.val(),userPsw:$.md5(userPsw.val()),validateCode:validateCode.val()},
                        dataType: "json",
                        success:function(data) {
                            if (data.success == false) {
                                if (data.errorCode == "errors.login.noexist") {

//                                    showDialog("用户不存在,请重新输入账号",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });
                                    $(this).dialog("close")
                                    $("#alert").show();
                                    $("#alerttext").html("用户名不存在")
                                                 changValidateCode();
                                }
                                else if (data.errorCode == "errors.login.password") {

//                                    showDialog("",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });

                                    $("#alert2").show();
                                    $("#alerttext1").html("用户名与密码不匹配")
                                                 changValidateCode();
                                } else if (data.errorCode == "errors.login.no.remain.time") {

//                                    showDialog("您今天密码出错次数为 " + data.errorArg + "次，已被系统屏蔽",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });
                                    $("#alert2").show();
                                    $("#alerttext1").html("您今天密码出错次数为 " + data.errorArg + "次，已被系统屏蔽")
                                                 changValidateCode();

                                } else if (data.errorCode == "errors.remain.time.login.password") {

//                                    showDialog("密码出错，您今天还有 " + data.errorArg + "次重新输入的机会",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });
                                    $("#alert2").show();
                                    $("#alerttext1").html("密码出错，您今天还有 " + data.errorArg + "次重新输入的机会")
                                                 changValidateCode();


                                }else  if(data.errorCode=="errors.login.validate"){

//                                    showDialog("验证码错误！",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                            changValidateCode();
//                                        }
//                                    });
                                    $("#alert3").show();
                                    $("#alerttext2").html("验证码错误")
                                    changValidateCode();


                                }
                                else {
                                   alert("账户冻结或账户已被删除!");
                                }
                            }
                            else{
                                if(data.redirectUri=="redirect:/"){
                                    location.href = settings.contextPath+"/" ;
                                }
                                else{
                                    location.href = data.redirectUri;
                                }
                            }
                        },
                        error:function(XMLHttpRequest, textStatus) {
                            if (XMLHttpRequest.status == 500) {
                                var result = eval("(" + XMLHttpRequest.responseText + ")");
                                alert(result.jsonError.errorText);
                            }
                        }
                    });

        }

/*        function confirmLogin(loginId,userPsw,validateCode){

            showDialog("您确定要登录吗？",{
                '确认':function(){
                    //非空验证结束
                    //var params = $("#loginForm").formToArray();
                    $(this).dialog("close")
                    $.ajaxSettings['contentType'] = "application/x-www-form-urlencoded; charset=utf-8";
                    $.ajax({
                        type:"POST",
                        url:settings.contextPath+settings.url,
                        data:{loginId:loginId.val(),userPsw:$.md5(userPsw.val()),validateCode:validateCode.val()},
                        dataType: "json",
                        success:function(data) {
                            if (data.success == false) {
                                if (data.errorCode == "errors.login.noexist") {

//                                    showDialog("用户不存在,请重新输入账号",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });
                                    $(this).dialog("close")
                                    $("#alert").show();
                                    $("#alerttext").html("用户不存在")
                                                 changValidateCode();
                                }
                                else if (data.errorCode == "errors.login.password") {

//                                    showDialog("",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });

                                    $("#alert2").show();
                                    $("#alerttext1").html("密码错误")
                                                 changValidateCode();
                                } else if (data.errorCode == "errors.login.no.remain.time") {

//                                    showDialog("您今天密码出错次数为 " + data.errorArg + "次，已被系统屏蔽",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });
                                    $("#alert2").show();
                                    $("#alerttext1").html("您今天密码出错次数为 " + data.errorArg + "次，已被系统屏蔽")
                                                 changValidateCode();

                                } else if (data.errorCode == "errors.remain.time.login.password") {

//                                    showDialog("密码出错，您今天还有 " + data.errorArg + "次重新输入的机会",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                        }
//                                    });
                                    $("#alert2").show();
                                    $("#alerttext1").html("密码出错，您今天还有 " + data.errorArg + "次重新输入的机会")
                                                 changValidateCode();


                                }else  if(data.errorCode=="errors.login.validate"){

//                                    showDialog("验证码错误！",{
//                                        '确认':function(){
//                                            validateCode.focus();
//                                            $(this).dialog("close")
//                                            changValidateCode();
//                                        }
//                                    });
                                    $("#alert3").show();
                                    $("#alerttext2").html("验证码错误")
                                    changValidateCode();


                                }
                                else {
                                    showDialog("账户冻结或账户已被删除!",{
                                        '确认':function(){
                                            validateCode.focus();
                                            $(this).dialog("close")
                                            changValidateCode();
                                        }
                                    });

                                }
                            }
                            else{
                                if(data.redirectUri=="redirect:/"){
                                    location.href = settings.contextPath+"/" ;
                                }
                                else{
                                    location.href = data.redirectUri;
                                }
                            }
                        },
                        error:function(XMLHttpRequest, textStatus) {
                            if (XMLHttpRequest.status == 500) {
                                var result = eval("(" + XMLHttpRequest.responseText + ")");
                                alert(result.jsonError.errorText);
                            }
                        }
                    });
                },
                '取消':function(){
                    $(this).dialog("close");
                    return false
                }
            })
        }*/


        function showDialog(text,buttons){
            $("#tiptext").html(text);
            $("#tip").dialog({
                buttons:buttons
            });

        }
    };
})(jQuery);
